package com.dks.repository;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

import com.dks.models.QsClass;
import com.dks.result.ResultModel;
import com.dks.util.PageInfo;
import com.dks.vo.qsClass.QsClassVo;

public interface IQsClassRepository {

    Integer insert(QsClass qsClass);

    Integer update(QsClass qsClass);

    Integer delete(Integer id);

    QsClass select(Long id);

    Integer cntByMap(Map<String, Object> map);

    List<Integer> getByMap(Map<String, Object> map);

    List<QsClass> getByMapList(Map<String, Object> map);

    Integer updateByCode(QsClass qsClass);

    QsClass selectByBfCode(String bfCode);

    ResultModel<Object> addClass(QsClass qsClass);

    ResultModel<Object> getCourseTeacherList();

    ResultModel<Object> getWaitQsClassList();

    ResultModel<PageInfo<QsClass>> listScreening(LocalDateTime startTime, LocalDateTime endTime, Integer studentId, String courseCategory, Integer pageNum, Integer pageSize);

    ResultModel<QsClass> get(Long id);

    ResultModel<QsClassVo> getDetail(Long id, long userId);

    ResultModel<Object> classIsOver(QsClass qsClass);
}
